# Array vs ArrayList vs LinkedList



์„ธ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •์˜ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.


  • Array๋Š” index๋กœ ๋น ๋ฅด๊ฒŒ ๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•จ
  • LinkedList๋Š” ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๊ฐ€ ๋น ๋ฆ„
  • ArrayList๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š”๋ฐ ๋น ๋ฅด์ง€๋งŒ, ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๊ฐ€ ๋Š๋ฆผ

์ข€ ๋” ์ž์„ธํžˆ ๋น„๊ตํ•˜๋ฉด?


์šฐ์„  ๋ฐฐ์—ด(Array)๋Š” ์„ ์–ธํ•  ๋•Œ ํฌ๊ธฐ์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

int arr[10];
String arr[5];

์ด์ฒ˜๋Ÿผ, array์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํ• ๋‹นํ•  ์‚ฌ์ด์ฆˆ๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•ด๋†“๊ณ  ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค.

๋”ฐ๋ผ์„œ ๊ณ„์† ๋ฐ์ดํ„ฐ๊ฐ€ ๋Š˜์–ด๋‚  ๋•Œ, ์ตœ๋Œ€ ์‚ฌ์ด์ฆˆ๋ฅผ ์•Œ ์ˆ˜ ์—†์„ ๋•Œ๋Š” ์‚ฌ์šฉํ•˜๊ธฐ์— ๋ถ€์ ํ•ฉํ•˜๋‹ค.

๋˜ํ•œ ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ๋•Œ๋„ ๋งค์šฐ ๋น„ํšจ์œจ์ ์ด๋‹ค.

4๋ฒˆ์งธ index ๊ฐ’์— ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค๋ฉด? ์›๋ž˜๊ฐ’์„ ๋’ค๋กœ ๋ฐ€์–ด๋‚ด๊ณ  ํ•ด๋‹น index์— ๋ฎ์–ด์”Œ์›Œ์•ผ ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์ด์ฆˆ๋ฅผ ์ •ํ•ด๋†“์€ ๋ฐฐ์—ด์—์„œ๋Š” ํ•ด๊ฒฐํ•˜๊ธฐ์—” ๋ถ€์ ํ•ฉํ•œ ์ ์ด ๋งŽ๋‹ค.

๋Œ€์‹ , ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋ฉด index๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„์น˜๋ฅผ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ์–ด ๊ฒ€์ƒ‰์— ํŽธํ•œ ์žฅ์ ์ด ์žˆ๋‹ค.


์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๊ฒƒ์ด List๋‹ค.

List๋Š” array์ฒ˜๋Ÿผ ํฌ๊ธฐ๋ฅผ ์ •ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๋Œ€์‹  array์—์„œ index๊ฐ€ ์ค‘์š”ํ–ˆ๋‹ค๋ฉด, List์—์„œ๋Š” ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋”๋ผ๋„ array์—์„œ ๊ฐ–๊ณ  ์žˆ๋˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค. index๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๊ฒ€์ƒ‰๋„ ๋น ๋ฅด๋‹ค.

ํ•˜์ง€๋งŒ, ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œํ•  ๋•Œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค. (๋”ํ•˜๊ฑฐ๋‚˜ ๋บ„๋•Œ๋งˆ๋‹ค ์ค„์ค„์ด ๋‹น๊ฒจ์ง€๊ฑฐ๋‚˜ ๋ฐ€๋ ค๋‚  ๋•Œ ์ง„ํ–‰๋˜๋Š” ์—ฐ์‚ฐ์ด ์ถ”๊ฐ€, ๋ฉ”๋ชจ๋ฆฌ๋„ ๋‚ญ๋น„..)


๊ทธ๋ ‡๋‹ค๋ฉด LinkedList๋Š”?

์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์—๋Š” ๋‹จ์ผ, ๋‹ค์ค‘ ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค.

์ข…๋ฅ˜๊ฐ€ ๋ฌด์—‡์ด๋“ , ํ•œ ๋…ธ๋“œ์— ์—ฐ๊ฒฐ๋  ๋…ธ๋“œ์˜ ํฌ์ธํ„ฐ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋˜์–ด์žˆ๋‹ค.

๋‹จ์ผ์€ ๋’ค์— ๋…ธ๋“œ๋งŒ ๊ฐ€๋ฆฌํ‚ค๊ณ , ๋‹ค์ค‘์€ ์•ž๋’ค ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐจ์ด


์ด๋Ÿฐ ๋ฐฉ์‹์„ ํ™œ์šฉํ•˜๋ฉด์„œ, ๋ฐ์ดํ„ฐ์˜ ์ค‘๊ฐ„์— ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๋ฅผ ํ•˜๋”๋ผ๋„ ์ „์ฒด๋ฅผ ๋Œ์ง€ ์•Š์•„๋„ ์ด์ „ ๊ฐ’๊ณผ ๋‹ค์Œ๊ฐ’์ด ๊ฐ€๋ฅด์ผฐ๋˜ ์ฃผ์†Œ๊ฐ’๋งŒ ์ˆ˜์ •ํ•˜์—ฌ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ๋งŒ ๋ณด๋ฉด ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ• ๊ฐ™์•„๋ณด์ด์ง€๋งŒ, List์˜ k๋ฒˆ์งธ ๊ฐ’์„ ์ฐพ์•„๋ผ์—์„œ๋Š” ๋น„ํšจ์œจ์ ์ด๋‹ค.


array๋‚˜ arrayList์—์„œ index๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰์ด ๋น ๋ฅด์ง€๋งŒ, LinkedList๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ์‚ดํŽด๋ด์•ผํ•˜๋ฏ€๋กœ(์ˆœ์ฐจ) ๊ฒ€์ƒ‰์— ์žˆ์–ด์„œ๋Š” ์‹œ๊ฐ„์ด ๋” ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.


๋”ฐ๋ผ์„œ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ž˜ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

์ตœ์ข… ์ˆ˜์ • : 12/17/2022, 7:23:59 AM